package com.qf.mvc2203.controller;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
import java.util.UUID;

@RestController
@RequestMapping("/up")
public class UploadController {

    @Value("${uploadpath}")
    private String fileUploadPath; // 获取配置文件中的文件上传路径信息

    @RequestMapping("/test1")
    public String test1(MultipartFile file1,String username) throws IOException {

        System.out.println(username);

//        String filepath = "D:\\pic\\"+username+".jpg";

        File file = createFile(file1); // 产生一个用于保存上传文件的唯一的文件路径

        file1.transferTo(file);// 保存文件到指定位置

        return "ok";

    }

    // 产生一个用于保存上传文件的唯一的文件路径
    private File createFile(MultipartFile file1) {

        // 最终的文件名，由 前缀（唯一） + 原始文件名
        final String prefix = UUID.randomUUID().toString();

        final String originalFilename = file1.getOriginalFilename(); // 原始上传文件的文件名

        final String fileName = prefix +"_"+ originalFilename;

        // 如何处理文件存放的路径？
        final String finalFilePath = fileUploadPath + fileName;

        final File file = new File(finalFilePath);

        return file;
    }

}
